Scrapbox開発の裏側 第2回
こんにちは
最近開発している機能の裏話
をお話させていただくshokai.iconです
Scrapbox SQUARE #2 〜開発現場の活用会議〜の発表資料です
右のメニューからStart Presentationを押すとスライドになります
前回: Scrapbox開発の裏側
https://gyazo.com/c6b5081ba6057961750dbe81d5be2bb1
廃止されるお札の人が妖怪になってたshokai.icon
今日の話
開発の裏側
1. ScrapboxをScrapboxで開発している話
2. 最近実装された機能の話
初参加の人が多そう
リモート開発
京都rakusai.icondaiiz.icontakeru.iconTiro.icon
気分でリモートワーク
横浜shokai.icon
フルリモートワーク、年2,3回泥酔する為に出社
中野progfay.iconyutaro.icon
1ヶ月インターン→リモートアルバイト
最近はhelpfeelをやってる気がするshokai.icon
鎌倉増井俊之.icon
原作者、無茶な使い方開拓者
Gyazoの開発者からもプルリクが飛んでくる事もある
ScrapboxをScrapboxで開発している
機能設計、相談など
ページ間リンクが便利shokai.icon
曖昧な単語に、別ページで定義を好きなだけ書ける
影響しあう機能の設計時に、リンクで説明できる
文脈が作れる
理解・考察が足りていない事をScrapboxで書くと
だんだんわかってくる
この話すごい好きですga_ko.icon
自分の使うプロダクトを作っていたいga_ko.icon
勉強したいことを書き始めると「わかりたさ」がどんどん広がってはかどりましたsngazm.icon
増井俊之.iconが最初こんな感じで雑に書く
内部仕様に詳しくなくても、とにかく書く
不満に思った時点で書けばいい。わかる相手には伝わる
https://gyazo.com/8298a3470b2f4d941142a8125ea98507
これでわかるじゃないかー 増井俊之.icon
詳しい人が手直しすれば良い
https://gyazo.com/59d3d480c8d687ca94c5e8246af65154
意味が変わらなければ、他人の発言を添削・修正してもぜんぜんok
文中の専門用語を、別ページへのリンクにする
タイトルも変える
発言者を明確にしたい場合はアイコン記法を使う
共通言語ができる
https://gyazo.com/ccc910c7407405dc3839793aca4fe8c2 https://twitter.com/mineiyuki/status/1065911937685286912
いい話yamanoku.icongeta6.icon
オススメ手順shokai.icon
雑に殴り書き、誰かが直す
反論したくなる....なりますね?!rakusai.icon
↑ 個人的には、?! より、!? 派ですnanji.icon
wwwwga_ko.icon
「私は」「こう思う」っていう表現が少なめになっているのが、それを抑える気もしていますga_ko.icon
弊社は、ときどき激論もおきます。顔アイコンだらけになるrakusai.icon
なるほど…ga_ko.icon
ページ間のリンクで文脈を作る
用語の意味が定義されていく
Scrapboxの開発
役割分担やロードマップはあまりない
青写真的なテキストはたくさん書かれている
気になった人が、気になった所を作る・直す
pull requestにpull request返し
青写真の例
https://gyazo.com/79a1dd259ca4aa58ba1940bd87648d4d
https://gyazo.com/556240f03118026631f445acd4b465b6
こんな感じでつらつらと書いていく
コメントが付く
「当事者意識が出てくる」
https://gyazo.com/c57c1954054514e0fa65b5f451bcedfa
メッセージングしていない
(ほぼ)指示を出しあっていない
少しはある。問い合わせ対応とか
考えを言語化し、共有する為にScrapboxを使っている
/remote/コミュニケーションを減らそう
好きなように生きていけ
/remote/リモートで信頼をどう発生させるか (shokai)
最近実装された機能
PWA (progressive web application)
Scrapbox、Android版PWAに対応
https://gyazo.com/7a76a09880b7b62ee0d44e5752f6923a
Android PWA
Chrome Desktop PWA
すごい!!!!!!!ga_ko.icon*5yamanoku.icon*5
iOSは、まだホーム画面へのブックマークだけに留めている
ピンチイン・アウトが効かない
Safariとsessionが別なのでGyazo連携できない
等の理由
cache firstで光速を超える
Scrapbox、Android版PWAに対応より
https://gyazo.com/05066bbaf396c3928116dc7fe4a4fe91
データがサーバーにあり、光の往復にどうしても200 msecぐらいかかる
これをどうにかしたい
色々なテクニックを組み合わせた
起動に必要なデータ(画像やプログラム全て)をcacheに保存
バックグラウンドで更新
画面表示時、とりあえずcacheを表示する
それからnetworkアクセスし、取得したら差し替える
リンクをマウスオーバーで先読み
Offline mode
https://gyazo.com/7622d63ce35541453a74a7a53c2196d3
右下に青文字でOffline modeって出る
WiFi切っても、本文と画像をcacheから表示できる
編集・新規作成したページもすぐにcacheに入る様になった
次はオフライン編集やりたいshokai.icon
期待yamanoku.iconyuta25.icon
ほしいsngazm.icon*5
エンタープライズ版でもPWA
/help-enterprise-jp/オンプレ版でServiceWorkerを有効にする
オンプレ版
ENABLE_SERVICE_WORKER: 'true'フラグを付けて起動する
セミオンプレ版
既に全サーバーで有効化済み
メニューのモバイル対応
ボタンをタッチデバイスで押しやすく by takeru.iconrakusai.icon
https://www.npmjs.com/package/@notainc/tatami
アイコンのSVG化 by takeru.iconTiro.icon
https://www.npmjs.com/package/@notainc/kamon
https://gyazo.com/c7ce7af7006664200f9d46a0bfb92def
左のドロワーメニュー by daiiz.icon
次はエディタの中をもう少し良くしていきたいshokai.icon
テーブル
リンク記法が使えるようになった
うれしいyamanoku.icon
table:予定
参加者 4/9 4/10 4/11
shokai o x x
geta6 o ? o
daiiz.iconがいつのまにか作った
ファイルアップロード (準備中)
Google Cloud StorageかAmazon S3のどちらかにアップロードできる奴を考えているshokai.icon
https://gyazo.com/d02cd3a187245524b755c9f6a84827a3
/help-enterprise-jp/オンプレ版のファイルアップロード機能
エンタープライズ版
https://scrapbox.io の他に2つある
1. オンプレ版
docker imageを提供します
物理的に社内にあるサーバーで管理・運用可能
2. セミオンプレ版
Nota Inc.が運用します
app serverとDBは、scrapbox.ioとは完全に独立
インフラ構成は完全に同一なので、同等にスケールする
つまりn万人は使えるはず
要望・相談など
このproject /scrapbox-square にページを作成しても良し
フォーラム
/forum-jp
メールフォーム
https://scrapbox.io/contact
エンタープライズ版について
/help-enterprise-jpに運用方法などを掲載していく予定です
https://scrapbox.io/enterprise
請求書払いしか無理、など、対応できますshokai.icon